﻿//Plc_Msg_Def.h

#ifndef	_PLC_MSG_DEF_H_
#define _PLC_MSG_DEF_H_

#pragma once

enum PLC_MSG_TYPE
{
	PLC_MSG_TYPE_NONE				=0,
	PLC_MSG_TYPE_DIAG_INFO			  ,			//1  DiagInfo		   诊断告警
	PLC_MSG_TYPE_MODULE_INFO		  ,			//2  ModuleInfo		   模件故障
	PLC_MSG_TYPE_DOUT_INFO		      ,			//3  DoutInfo		   开出故障
	PLC_MSG_TYPE_PIDPROTECT_INFO	  ,			//4  PIDProtectInfo    调节保护记录
	PLC_MSG_TYPE_PIDACTION_INFO		  ,			//5  PIDActionInfo     调节保护动作性质
	PLC_MSG_TYPE_PIDRESULT_INFO		  ,			//6  PIDResultInfo     调节保护结果
	PLC_MSG_TYPE_PIDQUIT_INFO		  ,			//7  PIDQuitInfo       调节保护退出
	PLC_MSG_TYPE_CTRLOBJ			  ,			//8  CTRLObj		   控制对象
	PLC_MSG_TYPE_CTRLCMD			  ,			//9  CTRLCmd		   控制命令
	PLC_MSG_TYPE_CTRLSTART_REASON	  ,			//10 CTRLStartReason   控制启动原因
	PLC_MSG_TYPE_CTRLRESULT			  ,			//11 CTRLResult		   控制结果
	PLC_MSG_TYPE_BAK			      ,			//12 备用
	PLC_MSG_TYPE_MAX_NUM			  			//   数目
};


char *name_plc_msg_type[PLC_MSG_TYPE_MAX_NUM]=				      
{
	"",
	"诊断告警",
	"模件故障",
	"开出故障",
	"调节保护记录",
	"调节保护动作性质",
	"调节保护结果",
	"调节保护退出",
	"控制对象",
	"控制命令",
	"控制启动原因",
	"控制结果",
	"备用"
};

#define PLC_MSG_INFO_LEN			150

//PLC自诊断状态故障定义
enum PLC_DIAG_CODE
{
	PLC_DIAG_CODE_NONE				  =0,
	PLC_DIAG_CODE_TIMER_ERR				,       //1时钟模件故障
	PLC_DIAG_CODE_SYNC_ERR				,       //2同期装置故障
	PLC_DIAG_CODE_TESTSPEED_ERR			,       //3测速装置故障
	PLC_DIAG_CODE_BLOWER_ERR			,       //4风机故障
	PLC_DIAG_CODE_MODULE_ERR			,       //5PLC模件故障（参数=1：模入，参数=2温入）
	PLC_DIAG_CODE_VOLTAGE_L_ERR			,       //6PLC电池电压低
	PLC_DIAG_CODE_SEQ_ERR				,       //7顺控装置故障
	PLC_DIAG_CODE_POWER_ERR				,       //8辅助电源故障
	PLC_DIAG_CODE_DOUT_ERR				,		//9开出故障（参数=1：开出重选，参数=2：开出漏选）
	PLC_DIAG_CODE_NUM				    		//
};

typedef struct 
{
	char MsgInfo[PLC_MSG_INFO_LEN];

}MsgInfoStru;

 MsgInfoStru DiagInfo[PLC_DIAG_CODE_NUM] = 
{   
	{""},
	" 时钟模件故障",		//1
	" 同期装置故障",		//2	
	" 测速装置故障",		//3
	" 风机故障",			//4	
	" PLC模件故障",		//5
	" PLC电池电压低",	//6
	" 顺控装置故障",		//7
	" 辅助电源故障",		//8
	" 开出故障"			//9
};

MsgInfoStru ModuleInfo[3] = {
	"",
	"模入",
	"温入"
};

MsgInfoStru DoutInfo[3] = {
	"",
	"开出重选",
	"开出漏选"
};

#define  PID_PROTECT_NUM  11
MsgInfoStru PIDProtectInfo[PID_PROTECT_NUM] = {
	"",
	"电压差限制",
	"定子电流最大值保护",
	"定子电流最小值保护",
	"转子电流最大值保护",
	"转子电流最小值保护",
	"有功调节超时",
	"无功调节超时",
	"有功负荷差保护",
	"无功负荷差保护",
	"开关跳闸"
};

MsgInfoStru PIDActionInfo[3] = {
	"",
	"动作",
	"复归"
};

MsgInfoStru PIDResultInfo[4] = {
	"",
	"调节退出",
	"有功调节退出",
	"无功调节退出"
};

MsgInfoStru DoutActionInfo[2] = {
	"复归",
	"动作"
};

MsgInfoStru PIDQuitInfo[3] = {
	"",
	"上位机置 有功调节退出",
	"上位机置 无功调节退出"
};


MsgInfoStru CmdInfo[] = {
	"确认超时"
};

#define  OBJ_DEF_NUM	       14
MsgInfoStru CTRLObj[OBJ_DEF_NUM] = {
	{""},
	{"0#机"},
	{"2#机"},
	{"3#机"},
	{"4#机"},
	{"1#主变高压侧"},
	{"2#主变高压侧"},
	{"110kV拉四线"},
	{"110kV拉马线"},
	{"1#主变低压侧"},
	{"2#主变低压侧"},
	{"厂用变41B高压侧"},
	{"近区变61B低压侧"},
	{"厂用变42B高压侧"}
};

#define  CTRL_DEF_NUM			33
MsgInfoStru CTRLCmd[CTRL_DEF_NUM] = 
{
	"",
	"有压空载",            /* 1 */
	"无压空载",
	"发电",
	"紧急事故停机",
	"停机",
	"调相",
	"事故停机",
	"压油槽自动补气",
	"闸门提起",
	"调试合闸",            /* 10 */
	"同期合闸",
	"无压合闸",
	"分闸",
	"合闸",
	"开",
	"关",
	"备用",
	"备用",
	"启动",
	"停止",                /* 20 */
	"检修转运行",
	"运行转检修",
	"停电转运行",
	"运行转停电",
	"保护信号复归",
	"全厂用电",
	"试验准同期",
	"备用",
	"备用",
	"备用电源自动投入",    /* 30 */
	"厂用分段",
	""
};

//#define  CTRL_START_REASON_NUM				16
#define  CTRL_START_REASON_NUM				64
MsgInfoStru CTRLStartReason[CTRL_START_REASON_NUM] = 
{
	"",
	"上位机启动",						// 1
	"当地启动",							// 2
	"内部启动",							// 3
	"手动紧急落闸门启动",				// 4
	"保护动作启动",						// 5
	"机组轴承温度过热启动",				// 6
	"机组飞逸启动",						// 7
	"机组事故低油压启动",				// 8
	"机组事故低油位启动",				// 9
	"微机电调急停启动",					// 10
	"低周波启动",						// 11
	"把手",								// 12
	"转速>170启动",						// 13
	"转速>140启动",						// 14
	"备用",								// 15
	"事故停机＋剪断销剪断启动",			// 16
	"紧急停机按钮启动",					// 17
	"事故停机按钮启动",					// 18
	"组合轴承正推力轴瓦温度过高启动",     // 19
	"组合轴承反推力轴瓦温度过高启动",     // 20
	"空冷器冷风温度过高启动",				// 21
	"空冷器绕组温度过高启动",            // 22
	"事故低油压启动",					// 23
	"主阀故障启动",                     // 24
	"主保护电气事故停机启动",				// 25
	"差动保护动作启动",                 // 26
	"复压过流保护动作启动",     // 27
	"过电压保护动作启动",       // 28
	"失磁保护动作启动",         // 29
	"调速器电气故障启动",       // 30
	"发电机径向轴承瓦温过高启动",     // 31 
	"水轮机径向轴承瓦温过高启动",             // 32
	"机组油冷却器冷却水中断启动",             // 33
	"发电机组合轴承反推润滑油中断启动",   // 34
	"发电机导轴承润滑油中断启动",         // 35
	"水轮机导轴承润滑油中断启动", // 36
	"发电机组合轴承正推润滑油中断启动",         // 37
	"机组润滑高位油箱油位过低启动",   // 38
	"主轴密封水中断启动",   // 39
	"调速器故障启动",     // 40
	"发电机风机全故障启动",           // 41
	"发电机运行＋空气围带充气启动",                 // 42
	"发电机舱内积水启动",         // 43
	"总冷却水中断启动",         // 44
	"机组机械过速限制器动作",                     //  45
	"低压过流保护动作启动", // 46
	"轴电流保护动作启动",         // 47
	"负序过流保护动作启动",         // 48
	"逆功率保护动作启动",         // 49
	"转子接地保护动作启动",               // 50
	"励磁变过流启动",                         // 51
	"励磁变速断启动",                         // 52
	"1＃主变扩大差动保护动作启动",           // 53
	"1＃主变保护动作启动",                         // 54
	"95％定子接地保护动作启动",        // 55
	"机组转速大于95%风闸投入启动",                         // 56
	"备用",     // 57
	"备用",       // 58
	"备用",         // 59
	"备用",       // 60
	"备用",           // 61
	"",                      // 62
	""                       
};

#define  CTRL_RESULT_NUM		 187
MsgInfoStru CTRLResult[CTRL_RESULT_NUM] = {
	 "成功",                          /* 0 */
  "命令校验错",
  "控制条件不具备",
  "命令非法",
  "控制超时",
  "同期失败",
  "测速装置故障",
  "同期装置故障",
  "开出故障",
  "隔离刀闸未合上",
  "隔离刀未分开",                /* 10 */
  "开关已已合,刀闸禁止操作",
  "地刀未分",
  "灭磁不成功",
  "地刀未合",
  "开关压力异常",
  "控制电源故障",
  "有事故信号",
  "有故障信号",
  "操作回路故障",
  "开关不在工作位置",              /* 20 */
  "PT刀闸未合上",
  "冷却水未投上",
  "冷却水未关上",
  "转速降不到零",
  "转速未上升至95％",
  "转速未下降",
  "喷针未全开",
  //"喷针未关到零",
  "导叶未全关",
  "球阀未开启",
  "球阀关不上",                     //30
  "机端电压未上升",
  "机端电压未下降",                  
  //"刀闸未合",
  "出口DL手车不在工作位置",
  "刀闸未分",
  "开关合不上",
  "开关跳不开",
  "灭磁开关未合上",
  "灭磁开关未跳开",
  "命令与状态不符",
  "锁锭未拔出",                     //40
  "锁锭未投上",
  "负荷减不下",
  "制动投不上",
  "制动未撤掉",
  "保护装置异常",
  "隔离手车未分",
  "工作闸门未提起",
  "工作闸门未落下",
  "启动失败",
  "停止失败",                      //50
  "蜗壳水压异常",
  "接触器合不上",
  "排水不畅",
  "接触器分不开",
  "调速器故障",
  "励磁故障",
  "厂用电不正常",
  "压油装置压力异常",
  "制动回路有压",
  "制动回路无压",                   //60
  "旁通阀未打开",
  "旁通阀未关闭",
  "风压异常",
  "调速器驱动器行程未在全关位",
  "制动闸未落下",
  "冷却水阀未开启",
  //"冷却水阀未关闭",
  "开机条件不具备",      //67
  "推力提油泵未启动",
  //"推力提油泵未停止",    //by xzf for MZB
  "机组润滑油循环不正常",      //for MZB  69
  //"推力油压不正常",               //70
  "冷却风机未投入",
  //"SVI阀未抬起",
  "高压顶起未投入",
  //"SVI阀未落下",
  "导叶未开至空载",
  //"驱动器未达到起位1",
  "励磁未投入",
  //"驱动器未达到起位2",
  "转速未达95%",
  "同期未在自动方式" ,   //75
  "导叶未关至空载",
  "制动气源无压",
  "制动管路有气压",
  "高压油顶起投入",
  "润滑供油阀未关" ,        //80
  "松闸管路无压",
  "松闸管路有压",
  "折向器未开启",            //83
  "折向器未全关",            //84
  "转速未降至30％",            //85
  "转速未降至5％" ,         //86
  "DL不在分位",         //87
  "导叶未全关",         //88
  "轴承高位油箱油位低",         //89
  "压力油罐油位不正常" ,        //90
  "调速器回油箱油位不正常",         //91
  "轴承润滑油箱油位不正常",         //92
  "发电机电加热不能退出",            //93
  "空气围带有压",            //94
  "主轴密封水电动球阀不能开启",            //95
  "主轴密封水无流",          //96
  "1#55kW调速器回油箱油泵启动失败",         //97
  "2#55kW调速器回油箱油泵启动失败",
  "1#风机启动失败",
  "2#风机启动失败" ,        //100
  "3#风机启动失败",
  "4#风机启动失败",
  "轴承润滑油电动球阀开启失败",            //103
  "油冷却器冷却水电动球阀不能开启",            //104
  "1#油冷却器技术供水泵启动失败或轴承润滑油冷却水泵出口无压",            //105
  "2#油冷却器技术供水泵启动失败或轴承润滑油冷却水泵出口无压",          //106
  "1#轴承润滑油泵启动失败或轴承润滑油泵出口无压",         //107
  "2#轴承润滑油泵启动失败或轴承润滑油泵出口无压",//108
  "交流高压顶起油泵启动失败或高压顶起油泵出口压力不正常",//109
  "直流高压顶起油泵启动失败或高压顶起油泵出口压力不正常" ,        //110
  "发电机正推轴承油槽油位不正常",//111
  "交流高压顶起油泵关闭失败",//112
  "直流高压顶起油泵关闭失败",            //113
  "油冷却器技术供水泵关闭失败",            //114
  "调速器油压装置油泵关闭失败",            //115
  "轴承润滑油泵停止失败",          //116
  "高压顶起油泵停止失败",         //117
  "关主轴密封水失败",             //118
  "关轴承润滑油电动球阀失败",     //119
  "关油冷却器冷却水电动球阀失败" ,        //120
  "关风机失败",                           //121
  "投空气围带失败",                       //122
  "",            //83
  "",            //84
  "",            //85
  "",          //86
  "",         //127
  "",
  "",
  "" ,        //80
  "",
  "",
  "",            //83
  "",            //84
  "",            //85
  "",          //86
  "",         //137
  "",
  "",
  "" ,        //80
  "",
  "",
  "",            //83
  "",            //84
  "",            //85
  "",          //86
  "",         //147
  "",
  "",
  "" ,        //80
  "",
  "",
  "",            //83
  "",            //84
  "",            //85
  "",          //86
  "",         //157
  "",
  "",
  "" ,        //80
  "",
  "",
  "",            //83
  "",            //84
  "",            //85
  "",          //86
  "",         //167
  "",
  "",
  "" ,        //80
  "",
  "",
  "",            //83
  "",            //84
  "",            //85
  "",          //86
  "",         //177
  "",
  "",
  "" ,        //80
  "",
  "",
  "",            //83
  "",            //84
  "",            //85
  ""           //186
};


//////////////////////////////////////////////////////////////////////////
#endif